// 路由校验
App({
    globalData: {
        userInfo: null
    },
    onLaunch() {
        // 检查更新
        this.checkUpdate()
        // 获取用户信息
        this.getUserInfo()
    },
    onShow() {
        // 检查登录状态
        this.checkLogin()
    },
    // 检查小程序更新
    checkUpdate() {
        if (uni.canIUse('getUpdateManager')) {
            const updateManager = uni.getUpdateManager()
            updateManager.onCheckForUpdate((res) => {
                if (res.hasUpdate) {
                    updateManager.onUpdateReady(() => {
                        uni.showModal({
                            title: '更新提示',
                            content: '新版本已经准备好，是否重启应用？',
                            success: (res) => {
                                if (res.confirm) {
                                    updateManager.applyUpdate()
                                }
                            }
                        })
                    })
                }
            })
        }
    },
    // 检查登录状态
    checkLogin() {
        const token = uni.getStorageSync('token')
        if (!token) {
            const currentPage = getCurrentPages().pop()
            const noAuthPages = ['pages/login/index', 'pages/register/index']
            if (!noAuthPages.includes(currentPage?.route)) {
                uni.navigateTo({ url: '/pages/login/index' })
            }
        }
    },
    // 获取用户信息
    async getUserInfo() {
        const token = uni.getStorageSync('token')
        if (token) {
            try {
                const res = await getUserInfo()
                this.globalData.userInfo = res
            } catch (error) {
                console.error('获取用户信息失败', error)
            }
        }
    }
}) 